1. Field of the Invention
The present invention relates to embedded systems, and more specifically to embedded system design through simplified add-on card configuration.
2. Description of the Related Art
Expandable general-purpose computers typically have an architecture involving a motherboard with add-on cards inserted into available card slots. For example, FIG. 1 is a prior art diagram illustrating a general-purpose computer using card slots 100 to connect add-on cards 110 to a motherboard 120. The architecture of the illustration provides for expanding the basic abilities of the motherboard 120 by adding or removing add-on cards 110 when needed.
The card slots 100 between the motherboard 120 and the add-on cards 110 include a shared bus where address and data information is transferred. For example, FIG. 2 is a prior art diagram illustrating connections of an address bus and a data bus. Each add-on card 110 is assigned a unique address, such as “0001,” “0002,” and “0003.” Thus, data can be transferred over the shared bus to specific add-on cards 110. An exemplary shared bus can include 32 address lines, 32 data lines, and various other control, power, and ground lines for a total of about 70 lines.
General-purpose computers typically have a shared bus architecture to permit adding on various types of functionality. However, on embedded system devices, such as embedded systems in a car, phone, microwave oven, or television, there is no need to provide for adding on various types of functionality. The embedded system devices do not change or expand after initial manufacture. In such embedded system devices, there is generally no or limited need for the shared bus architecture, as circuitry of the embedded system device is directly driven when the wiring of the embedded system device is fixed.
Thus, when designing a computer system, it is important to know whether it is intended for use as a general-purpose computer or to perform some fixed function of an embedded system. For example, the architecture of the general-purpose computer often requires a sophisticated bus, and thus substantial logic between the main processor on the motherboard 120 to the bus, and from the bus, to each add-on card 110. Alternatively, if the computer system functionality is limited, such as in the embedded system, then generally the sophisticated bus is not required.
FIG. 3 is a prior art diagram illustrating connections of a shared bus of add-on cards 110 within a general-purpose computer. Specifically, a bus 310 is shared among the add-on cards 110. A Field-Programmable Gate Array (FPGA) of each add-on card 110 interfaces with the bus 310 to enable communication between the motherboard 120 and the add-on cards 110. Thus, the general-purpose computer can function with any number of add-on cards 110. Further, it is common knowledge that an Application Specific Integrated Circuit (ASIC) can and is often more cost effective to use than an FPGA once the desired functionality is fixed (an ASIC cannot have its core functionality changed once it is manufactured).
However, when developing the embedded system, a circuit board design is prototyped with the majority of the wiring fixed and the specific chips and other components to be included in the design are appropriately wired. The embedded system design process does not include the design process of connecting add-on cards 110, such as in the general-purpose computer. Thus, if there are changes to the circuit board design, then the wiring and layout (the physical location of components and wire routes) of the prototype must be changed. Typically, the prototype wiring is more complex to change than the design of the general-purpose computer. Specifically, add-on cards 110 can be added or removed from card slots 100 of the general-purpose computer while wiring of the embedded system design cannot be easily added or removed.
Accordingly, what is needed is a method and system to develop an embedded system that permits modifications to the embedded system during prototyping without complex wiring changes.